package com.yuand.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

/**
 * @author yuandong
 * @date 2021/9/4 9:42
 */
@Data
@TableName("sys_user")
@JsonIgnoreProperties(ignoreUnknown = true)  //出现这种问题的情况是由于JSON里面包含了实体没有的字段导致反序列化失败。
public class SysUser extends BaseEntity{

    @TableId(type = IdType.AUTO)
    private Integer id;

    private String username;

    private String password;

    private String nickName;

    private Integer age;

    private String sex;

    private String address;

    private Integer role;

    private String url; //头像路径


    //下面是辅助字段  当时考虑活跃用户在后台可以自动刷新token，不活跃用户，提示token过期   还没有完成

    /**
     * 用户唯一标识
     */

    private String token;

    /**
     * 登录时间
     */
    @TableField(exist = false)
    private Long loginTime;

    /**
     * 过期时间
     */
    @TableField(exist = false)
    private Long expireTime;

    /**
     * 登录IP地址
     */
    @TableField(exist = false)
    private String ipaddr;

    /**
     * 登录地点
     */
    @TableField(exist = false)
    private String loginLocation;


    public boolean isAdmin()
    {
        return isAdmin(this.id);
    }

    public static boolean isAdmin(Integer userId)
    {
        return userId != null && 1 == userId;
    }



}
